﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Forest.Cat.Domain.Entities;
using Forest.Core;
using Forest.Cat.Domain.Shared;

namespace Forest.Cat.Domain.Services.Compnaies
{
    public interface ICompanyService
    {
        void DeleteCompany(Company company);

        Company GetCompanyById(Guid companyId);

        IPagedList<Company> GetAllCompanys(int pageIndex, int pageSize);

        void InsertCompany(Company company);

        void UpdateCompany(Company company);

        String GetCompanyNameById(Guid id);

        IQueryable<Company> GetMemberRecruitingList(int topCount, int skipCount = 0, String lovCondition = null);
        IQueryable<Company> GetVIPMemberRecruitingList(int topCount, int skipCount = 0, String lovCondition = null);

        IList<Company> GetShieldedCompany(string name);

        CompanyTemplate GetTemplate(Guid templateId);

        IList<LovInfoForSearchListView> GetLovInfoList(LovType lovType, int topCount, int skipCount, String lovCondition);
    }
}
